///*
// * Copyright (c) 2006-2020, RT-Thread Development Team
// *
// * SPDX-License-Identifier: Apache-2.0
// *
// * Change Logs:
// * Date           Author       Notes
// * 2021-03-12     78677       the first version
// */
//#include "main.h"
//
//struct Key_s{
//    uint8_t S2;
//    uint8_t S3;
//} Key;
//
//
//void Key_Init(void){
//    Key.S3= rt_pin_get("PF.0");
//    Key.S2 = rt_pin_get("PF.1");
//    // 上拉输入
//    rt_pin_mode(Key.S2, PIN_MODE_INPUT_PULLUP );
//    rt_pin_mode(Key.S3, PIN_MODE_INPUT_PULLUP );
//}
//
//
//int Read_S2(void){
//    return rt_pin_read(Key.S2);
//}
//
//
//int Read_S3(void){
//    return rt_pin_read(Key.S3);
//}
//
//void S2_Interrput(void *args){
//    rt_kprintf("S2 OK");
//    RGB_Blue(1);
//}
//
//void S3_Interrput(void *args){
//    rt_kprintf("S3 OK");
//    RGB_Green(1);
//}
//
//void Key_Interrput_Init(void){
//    Key.S3= rt_pin_get("PF.0");
////    Key.S2 = rt_pin_get("PF.1");
//    // 上拉输入
//    rt_pin_mode(Key.S2, PIN_MODE_INPUT_PULLUP );
////    rt_pin_mode(Key.S3, PIN_MODE_INPUT_PULLUP );
//
//    rt_pin_attach_irq(Key.S2, PIN_IRQ_MODE_FALLING , S2_Interrput, RT_NULL);
//    rt_kprintf("%d\r\n",rt_pin_attach_irq(Key.S3, PIN_IRQ_MODE_FALLING , S3_Interrput, RT_NULL));
//  //  rt_pin_attach_irq(Key.S3, PIN_IRQ_MODE_FALLING , S3_Interrput, RT_NULL);
//    rt_kprintf("%d\r\n",rt_pin_irq_enable(Key.S2,PIN_IRQ_ENABLE));
//    // rt_pin_irq_enable(Key.S2,PIN_IRQ_ENABLE);
//   // rt_pin_irq_enable(Key.S3,PIN_IRQ_ENABLE);
//}
//
//// 测试
//static struct rt_thread key_thread;  //创建一个静态线程控制块
//ALIGN(RT_ALIGN_SIZE)  // 线程栈字节对齐
//static uint8_t key_thread_stack[512];
//
//static void key_thread_entry(void *parameter);  // 线程函数
//
//static void key_thread_entry(void *parameter){
//    Key_Init();
//    RGB_Init();
//    RGB_Red(1);
//    while(1){
//        if (Read_S2()==PIN_LOW) {
//            RGB_Blue(1);
//        }
//        if (Read_S3()==PIN_LOW) {
//            RGB_Green(1);
//        }
//        rt_thread_mdelay(100);
//    }
//}
//
//static int Key_Thread_Init(void){
//    rt_err_t status = rt_thread_init(&key_thread,
//                        "key_thread",
//                        key_thread_entry,
//                        RT_NULL,
//                        key_thread_stack,
//                        sizeof(key_thread_stack),
//                        10, 10);
//    RT_ASSERT(status != RT_ERROR);
//    rt_thread_startup(&key_thread);
//    return 0;
//}
//
//
////INIT_APP_EXPORT(Key_Thread_Init);
//
//
